查看原文
其他

python可视化|matplotlib02-matplotlib.pyplot坐标轴|刻度值|刻度|标题设置

pythonic生物人 pythonic生物人 2022-09-11

"pythonic生物人"的第18篇分享



摘要

详细介绍matplotlib.pyplot绘图方式中坐标轴,刻度值,刻度,子图标题,图标题,坐标轴标题详细设置参数。


正文开始啦


1、效果图


2、代码

每个属性的详细设置见代码注释,修改对应代码就能见到变化效果。
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] =['Microsoft YaHei']plt.rcParams['axes.unicode_minus'] = False
plt.figure(dpi=150)
#整张图figure的标题自定义设置plt.suptitle('整张图figure的标题:suptitle',#标题名称 x=0.5,#x轴方向位置 y=0.98,#y轴方向位置 size=15, #大小 ha='center', #水平位置,相对于x,y,可选参数:{'center', 'left', right'}, default: 'center' va='top',#垂直位置,相对不x,y,可选参数:{'top', 'center', 'bottom', 'baseline'}, default: 'top' weight='bold',#字体粗细,以下参数可选 # '''weight{a numeric value in range 0-1000, 'ultralight', 'light', #'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', #'demi', 'bold', 'heavy', 'extra bold', 'black'}''' #其它可继承自matplotlib.text的属性 #标题也是一种text,故可使用text的属性,所以这里只是展现了冰山一角 rotation=1,##标题旋转,传入旋转度数,也可以传入vertical', 'horizontal' )

plt.subplot(1,1,1)#绘制一个子图

#设置文本属性字典font_self = {'family':'Microsoft YaHei',#设置字体 'fontsize': 10,#标题大小 'fontweight' : 'bold',#标题粗细,默认plt.rcParams['axes.titleweight'] 'color' : (.228,.21,.28), #'verticalalignment': 'baseline', # 'horizontalalignment': 'right' }

#每个子图标题自定义设置plt.title('每个子图axes的标题:title', fontdict=font_self, loc='left',#{'center', 'left', 'right'} #下面两个参数可以在前面字典中设置,也可以在这设置;存在时,loc指title在整个figure的位置,例如上面的left指与figure的最左边对齐,而不是与axes最左边对齐 #ha='center',#会影响loc的使用,可选参数:{'center', 'left', right'}, default: 'center' #va='center'#会影响loc的使用,可选参数:{'top', 'center', 'bottom', 'baseline'}, default: 'top' pad=7,#子图标题与上坐标轴的距离,默认为6.0 #其它可继承自matplotlib.text的属性 rotation=360,#标题旋转,传入旋转度数,也可以传入vertical', 'horizontal' )



#坐标轴的开启与关闭操作plt.gca().spines['top'].set_visible(False)#关闭上坐标轴plt.gca().spines['bottom'].set_visible(True)#开启x轴坐标轴plt.gca().spines['left'].set_visible(True)#开启y轴坐标轴plt.gca().spines['right'].set_visible(False)#关闭右轴##plt.gca()具有大量属性,也可以对刻度值、刻度、刻度值范围等操作,可自行实验,这里只提到了冰山一角
plt.gca().spines['bottom'].set_color('black')#x轴(spines脊柱)颜色设置plt.gca().spines['bottom'].set_linewidth(10)#x轴的粗细,下图大黑玩意儿就是这里的杰作plt.gca().spines['bottom'].set_linestyle('--')#x轴的线性#同样这里只提到了轴spines属性的冰山一角,也可自行实验
#绘制网格线plt.grid()

#坐标轴刻度(tick)与刻度值(tick label)操作plt.tick_params(axis='x',#对那个方向(x方向:上下轴;y方向:左右轴)的坐标轴上的tick操作,可选参数{'x', 'y', 'both'} which='both',#对主刻度还是次要刻度操作,可选参数为{'major', 'minor', 'both'} colors='r',#刻度颜色 #以下四个参数控制上下左右四个轴的刻度的关闭和开启 top='on',#上轴开启了刻度值和轴之间的线 bottom='on',#x轴关闭了刻度值和轴之间的线 left='on', right='on', direction='out',#tick的方向,可选参数{'in', 'out', 'inout'} length=10,#tick长度 width=2,#tick的宽度 pad=10,#tick与刻度值之间的距离 labelsize=10,#刻度值大小 labelcolor='#008856',#刻度值的颜色 zorder=0, #以下四个参数控制上下左右四个轴的刻度值的关闭和开启 labeltop='on',#上轴的刻度值也打开了此时 labelbottom='on', labelleft='on', labelright='off', labelrotation=45,#刻度值与坐标轴旋转一定角度 grid_color='pink',#网格线的颜色,网格线与轴刻度值对应,前提是plt.grid()开启了 grid_alpha=1,#网格线透明度 grid_linewidth=10,#网格线宽度 grid_linestyle='-',#网格线线型,{'-', '--', '-.', ':', '',matplotlib.lines.Line2D中的都可以用 )

#plt.xticks([])#x轴刻度值trick的关闭plt.xticks(np.arange(0, 2, step=0.2),list('abcdefghigk'),rotation=45)#自定义刻度标签值,刻度显示为您想要的一切(日期,星期等等)


#设置刻度范围plt.xlim(0,2)#x坐标轴刻度值范围plt.ylim(0,2)#y坐标轴刻度值范围#plt.gca().set((xlim=[0, 2], ylim=[0, 2])#x轴y轴坐标轴范围操作

#设置刻度值之间步长(间隔)from matplotlib.pyplot import MultipleLocatorplt.gca().xaxis.set_major_locator(MultipleLocator(0.2))plt.gca().xaxis.set_minor_locator(MultipleLocator(0.1))#plt.minorticks_off()#是否每个刻度都要显示出来



plt.xlabel('X轴标题', labelpad=22,#x轴标题xlabel与坐标轴之间距离 fontdict=font_self,#设置xlabel的字体、大小、颜色、粗细 #类似于上面,可继承自matplotlib.text的属性 rotation=90 )




同系列文章

python可视化|matplotlib01-绘图方式|图形结构


持续更新,欢迎您"关注"、"在看"、"分享"




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存